package com.ruoyi.wms.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.excel.annotation.ExcelDictFormat;
import com.ruoyi.common.excel.convert.ExcelDictConvert;
import com.ruoyi.wms.domain.entity.employee.AttendancePunch;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 考勤记录视图对象 attendance_punch
 *
 * @author 邓滔滔
 * @date 2024-12-01
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = AttendancePunch.class)
public class AttendancePunchVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ExcelProperty(value = "主键ID")
    private Long id;

    /**
     * 员工
     */
    @ExcelProperty(value = "员工")
    private Long employeeId;

    /**
     * 打卡类型（如：1=上班, 2=下班, 3=外出, 4=返回等）
     */
    @ExcelProperty(value = "打卡类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "punch_status")
    private Integer punchType;

    /**
     * 定位信息（如经纬度或地址）
     */
    @ExcelProperty(value = "定位信息", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "如=经纬度或地址")
    private String location;

    /**
     * 打卡时间
     */
    @ExcelProperty(value = "打卡时间")
    private Date createTime;


}
